package com.xiyu.service.service.bed;

import com.xiyu.service.vo.bed.bedInfo.BedInfoPageQueryOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoPageQueryInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoGetByRoomIdOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoListQueryRoomTypeOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoListQueryBedTypeOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoSingleGetRoomTypeOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoSingleGetBedTypeOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomUpdateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomCreateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoBedTypeUpdateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoBedTypeCreateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoBedTypeQueryOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoBedTypeQueryInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomTypeUpdateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomTypeCreateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomTypeQueryOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomTypeQueryInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoGetBedOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoGetRoomOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomQueryOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomQueryInput;
import java.util.*;

import com.xiyu.service.framework.web.web.core.pojo.PageResult;
import jakarta.servlet.http.HttpServletResponse;

/**
 * 床位信息 Service 接口
 */
public interface BedInfoService {

    PageResult<BedInfoRoomQueryOutput> roomQuery(BedInfoRoomQueryInput inputVO);

    BedInfoGetRoomOutput getRoom(Long id);

    BedInfoGetBedOutput getBed(Long id);

    PageResult<BedInfoRoomTypeQueryOutput> roomTypeQuery(BedInfoRoomTypeQueryInput inputVO);

    Long roomTypeCreate(BedInfoRoomTypeCreateInput inputVO);

    Boolean roomTypeUpdate(BedInfoRoomTypeUpdateInput inputVO);

    Boolean roomTypeDeleted(Long id);

    PageResult<BedInfoBedTypeQueryOutput> bedTypeQuery(BedInfoBedTypeQueryInput inputVO);

    Long bedTypeCreate(BedInfoBedTypeCreateInput inputVO);

    Boolean bedTypeUpdate(BedInfoBedTypeUpdateInput inputVO);

    Boolean bedTypeDeleted(Long id);

    Long roomCreate(BedInfoRoomCreateInput inputVO);

    Boolean roomUpdate(BedInfoRoomUpdateInput inputVO);

    Boolean roomDeleted(Long id);


    BedInfoSingleGetBedTypeOutput singleGetBedType(Long id);

    BedInfoSingleGetRoomTypeOutput singleGetRoomType(Long id);

    List<BedInfoListQueryBedTypeOutput> listQueryBedType();

    List<BedInfoListQueryRoomTypeOutput> listQueryRoomType();

    List<BedInfoGetByRoomIdOutput> getByRoomId(Long id);

    PageResult<BedInfoPageQueryOutput> pageQuery(BedInfoPageQueryInput inputVO);

}
